1. Field of the Invention
The present invention generally relates to mobile computing and, more particularly, to optimization of delivery of data to mobile applications.
2. Background
As mobile computing platforms become increasingly ubiquitous, and with the availability of network access for the mobile computing platforms, it becomes desirable to provide users with as close an approximation to the experience of a full-featured computing platform as possible. In order to conserve space and battery power, mobile computing platforms, such as personal digital assistants (PDAs), frequently have small display screens, limited memory, limited processing power, and limited communications bandwidth. Such resource restrictions of mobile computing platforms are often incompatible with the goal of providing users with data needed by the users to enjoy a full-featured experience.
Mobile applications require data to be mobilized from the enterprise and stored on a mobile device for occasionally disconnected computing while the device is not connected to the enterprise network. However, as the mobile devices are often resource restricted, the set of data downloaded to the devices is limited to a subset of what is available on enterprise servers and devices. In addition, the subset of enterprise data needed on mobile devices must be determined a priori. At times, the pre-determined subset of data is insufficient to meet the mobile user's needs. Necessary data is unavailable on mobile devices when unplanned and planned changes are not accounted for. Without necessary data available at the mobile devices, corresponding mobile applications can be rendered difficult to use or inoperable, depending on network connectivity.
In traditional enterprise computing environments, users are able to request data (i.e., fetch data and query databases) when it is needed and receive a timely response with the subset of data they have requested. In the mobile environment, this traditional request/response paradigm does not always work due to potential connectivity problems of ‘roaming’ mobile devices. The attention of a mobile user using a particular mobile application is on the task currently being performed so it is unreasonable to expect mobile users or applications to determine what data is necessary to complete the task. Hence, pertinent information should be ‘pushed’ to the mobile user's applications rather than requiring mobile devices to ‘pull’ the information from enterprise servers. Relevant data and notifications must be provided at the appropriate time to mobile devices enabling mobile users to make time sensitive business decisions. This is because mobile users oftentimes do not know when and what subset of data is needed as they are not aware of the situation or ‘context’ they are currently in.
Accordingly, what is desired is a system, method, and computer program product to dynamically determine the likely set of data needed on a mobile computing platform based on the context of the mobile applications on the platform and the user using the platform.
What is further needed is a system, method, and computer program product to provide relevant data and notifications at the appropriate time to a mobile computing platform based on the context of the mobile applications on the platform.